package com.xhj.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xhj.config.CourseQuery;
import com.xhj.entity.Course;
import com.xhj.entity.CourseInfoForm;
import com.xhj.vo.CourseInfoVo;
import com.xhj.vo.CoursePublishVo;

import java.util.List;

public interface CourseService extends IService<Course> {
    String saveCourse(CourseInfoForm courseInfoForm);
    CourseInfoForm getCourseInfoFormById(String id);

    void updateCourseById(CourseInfoForm courseInfoForm);

    CoursePublishVo getCoursePublishVoById(String id);

    void publishCourseById(String id);

    IPage<Course> getListByCourseQuery(Page<Course> pageParam, CourseQuery courseQuery);

    boolean deleteCourseById(String id);

    List<Course> getCourseByTeacherId(String teacherId);

    CourseInfoVo getCourseInfoById(String id);

    void updatePageViewCount(String id);
}
